The following relates to the online retail arts, online service provider arts, recommender system arts, collaborative filtering arts, and related arts.
Recommender systems find diverse applications in the retail, service, and other industries. A recommender system attempts to predict the preferences or choices of a user, and can be used, by way of illustrative example, to provide recommendations to a user from amongst a catalog of items or services. For example, an online retailer provides a website via which a user (i.e., customer) browses the retailer's catalog of products or services. The retailer desires for the customer to purchase products or services. Toward that end, it is useful for the retailer to be able to automatically identify and present to the customer specific products or services that the customer is likely to want to purchase. The recommender system, in this application, identifies products or services that are likely to be of interest to the customer, and these products are recommended to the customer.
Collaborative filtering is a recommender approach that makes predictions for a given user based on collected information about preferences of many other users. For example, in a retail setting, collaborative filtering may make use of a database of product ratings provided for various products or services by users of the retailer's product catalog. By comparing a given user's rating history with other users via collaborative filtering, predictions can be made as to the rating that the user would likely assign to a product or service the user has not yet rated. The user can then be presented with products or services having a high predicted rating but which the user has not yet purchased and/or rated. Collaborative filtering can also provide “denoising”, in that it can compensate for noise in the ratings data caused by factors such as some users intentionally giving inaccurate ratings.
Collaborative filtering can accommodate noise and also sparseness in the available data. In the retail ratings database context, sparseness results because any given user typically has not rated most products in the catalog. However, in some situations noise and/or sparseness may make predictions unreliable. For example, predictions will be difficult for a new user who has no rating history, or for a new product that has not yet received a significant number of ratings.
One way to further accommodate noise and/or sparseness is collective collaborative filtering. In conventional collaborative filtering a single relationship is analyzed, such as a user-rating relationship in the case of a retail catalog recommender system. Multiple relationships can be processed by performing collaborative filtering independently for each relationship. Collective collaborative filtering, on the other hand, attempts to leverage information across relationships. For example, the user-ratings relationship may not be useful by itself in providing recommendations for a new product. But, if additional product-product feature data are available (where “product features” may include any information about the product, e.g. product manufacturer, product price range, intended use information, et cetera), then this additional information can in principle be leveraged to generate recommendations for the new product, even if the new product has few (or even no) ratings.
In collective collaborative filtering (also called multi-view learning), each relationship is represented by a matrix (e.g., a user-ratings matrix and a product-product features matrix, in the foregoing example). These matrices are factored simultaneously, with any parameter of any entity that is shared between two or more relations being linked and optimized as a single parameter (i.e., co-factorization). See, e.g. Singh et al., “Relational learning via collective matrix factorization”, in SIGKDD, pages 650-658 (2008); Singh et al., “A Bayesian matrix factorization model for relational data”, in UAI, pages 556-563 (2010); Zhang et al., “Multi-domain collaborative filtering”, in UAI, pages 725-732 (2010); Lippert et al., “Relation prediction in multi-relational domains using matrix factorization”, in NIPS Workshop on SISO (2008).
These approaches advantageously leverage shared information between the collaborative filtering operations. However, they suffer deficiencies such as high computational complexity and non-convexity (potentially leading to converging to a local minimum).